/* 
** (Copyright) sejishikong <sejishikong@263.net>
** Authors:    sejishikong <sejishikong@263.net>
**             Wei Lian <lianwei2003.student@sina.com> 
** Maintainer: Wei Lian
**    This program is free software; you can redistribute it and/or modify
**    it under the terms of the GNU General Public License Version 2 as
**    published by the Free Software Foundation;
**
**    This program is distributed in the hope that it will be useful,
**    but WITHOUT ANY WARRANTY; without even the implied warranty of
**    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
**    GNU General Public License for more details.
**
**    You should have received a copy of the GNU General Public License
**    along with this program; if not, write to the Free Software
**    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
**
*/

#ifndef FORK_H
#define FORK_H

#include <qobject.h>

class Config;
class Sopcast;
class QProcess;
class QSocketNotifier;

class Fork:public QObject
{
  Q_OBJECT			/// 
public:
  Fork (QObject * parent = 0, const char *name = 0);
   ~Fork ();
  bool forksop (QString url);
  bool forkplayer ();
  void killsop ();
  void killplayer ();
  char outport[8];
  QSocketNotifier *snstatus;
  Config *config;
  QProcess *player;

private:
  int old_value[6];
  bool flaghook;
  Sopcast *mainwindow;
  QProcess *sop;


  private slots:		////
  void onsopexit ();
  void parsestdout ();
  void onplayerexit ();
  void streamready (int);

};

#endif
